Aula 3

Introdução ao ggplot

Lucas Fernandes de Magalhães

Visualização de dados

Por que construir gráficos?

   

ROTA DE FUGA:
Saia desta sala. Vire à direita e caminhe 3 metros até o final do corredor, onde você estará em frente a uma grande sala de conferências. Vire à esquerda e caminhe mais 3 metros até chegar ao final do corredor. À sua esquerda estará um alarme de incêndio, perto do elevador. À sua direita, no final do corredor, há uma escadaria. Não vá ao elevador. Vire à direita e caminhe mais 4 metros até o final do corredor, vire à esquerda e desça pelas escadas. Desça dois lances de escadas e saia do prédio na porta na parte inferior das escadas.

Fonte: Adaptado de Berinato (2016)

Por que construir gráficos?

   

Por que construir gráficos?

Ggplot - Grammar of graphics

Construção de gráficos em camadas

   

O ggplot é um pacote criado pelo Hadley Wickham com o objetivo de operacionalizar a teoria do livro “The Grammar of Graphics” de Leland Wilkinson.

Por que o nome gramática de gráficos?

   

A ideia básica do ggplot é a de que um gráfico é construído a partir de camadas de elementos, assim como uma frase:

   

A turma está super animada para aprender os próximos códigos

   

Se os adjetivos, verbos, ou substantivos fossem alterados, o sentido da frase seria totalmente alterado.

A Gramática dos Gráficos

   

Revisão de Dplyr

   

Função Finalidade
filter() Filtar a planilha a partir dos valores de determinadas colunas
select() Selecionar colunas
slice() Selecionar linhas
arrange() Classificar/ordenar a planilha a partir de determinadas colunas
mutate() Criar uma nova coluna na planilha
summarise() Calcular as estatísticas (média, soma, etc.) das colunas das planilhas
group_by() Agrupar a base pelos valores de determinadas colunas. Feito isso, todas as funções anteriores se aplicam aos grupos criados

1ª Camada: Dados

Qual é a base a ser utilizada?

   

A primeira camada é a base de dados utilizada para plotar os gráficos. Obviamente, isso ainda não é suficiente para criar um gráfico

2ª Camada: Aesthetics

Aesthetics

   

A segunda camada (Estética) basicamente consiste em dizer para o R o que vai no eixo X e o que vai no eixo Y

Aesthetics

   

3ª Camada: Geometria

Geometria

   

A terceira camada (Geometria) é a responsável pelos elementos visuais do gráfico

Geometria

   

Geometria

   

Geometria

   

Geometria

   

Geometria

   

Combinando geometrias

   

Combinando geometrias

   

4ª Camada: Facet

Divisão do gráfico

   

A quarta camada, Facet, permite dividir o gráfico criado a partir de uma terceira variável

Divisão do gráfico

   

5ª Camada: Coordenadas

Alterando os eixos

   

Invertendo os eixos

   

Trocando de coordenadas

   

Trocando de coordenadas

   

6º Camada: Tema

Tipos de temas

   

Existem três elementos visuais (isto é, que não são dados) que podemos alterar nesta camada usando a função theme():

Textos

Tipos de temas

   

Linhas

Tipos de temas

   

Retângulos

Hierarquia

   

Cada um dos elementos do gráfio pode ser modificado individualmente, por exemplo: Título do gráfico, título do eixo x, linha do eixo y, retângulo da legenda, etc.

Porém, caso se deseje alterar todos os elementos textuais, linhas ou retângulos, podemos utilizar um dos três elementos abaixo:

  • text

  • line

  • rect

Deixando apenas os dados

   

Modificando os textos

   

Modificando as linhas

   

Modificando os retângulos

   

Temas completos - templates

   

Se vocês não estão dispostos a mudar cada detalhe dos seu gráfico, podemos usar os templates fornecidos pelo ggplot: classic, dark, grey, bw, light, etc.

Temas completos - templates

   

Temas completos - templates

   

Temas completos - templates

   

Temas completos - templates

   

Extras: Geometria - Mudando os atributos visuais

Mudando a cor

   

Mudando o tamanho

   

Mudando a transparência

   

Mudando o tipo de linha

   

Mudando os atributos de colunas

   

Mudando os atributos de linhas e pontos

   

Extra: Aesthetics - Aumentando as dimensões

Aumentando as dimensões

   

Geralmente, precisamos plotar gráficos com mais de 2 duas dimensões. Existem vários argumentos para realizar essa tarefa, como color, group, size, shape, etc.

   

Obs: Alguns argumentos somente funcionam para alguns tipos de geometrias

Aumentando as dimensões

   

Aumentando as dimensões

   

## Warning: Using size for a discrete variable is not advised.

Aumentando as dimensões

   

Aumentando as dimensões

   

Mudando manualmente as cores

   

Extras: Geometria - mudando a posição

O que fazer quando há sobreposição

   

Com frequência, observamos uma sobreposição dos dados da nossa base. Para resolver isso, podemos usar o argumento position dentro da função de geometria

O que fazer quando há sobreposição?

   

O que fazer quando há sobreposição?

   

Extras: Personalizando as cores

Paletas de cores

   

O pacote RColorBrewer fornece paletas de cores que podem ser utilizadas nos gráficos

Paleta para daltônicos

   

Uma paleta específica

   

Obtendo as cores

   

## [1] "#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D"
## [8] "#666666"

Extras: Adicionando interatividade

Plotly

Caso o output do R seja um HTML, podemos adicionar um pouco de interatividade aos gráficos usando o pacote Plotly

Extras: Salvando os plots no diretório

1ª Forma

   

2ª Forma

   

Fim

   

Caminhante, não há caminho

O caminho se faz ao caminhar

Antônio Machado, poeta espanhol